/*
 * Copyright (c) 2022, tyustli
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2022-03-17     tyustli      first implementation
 */

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

/**
A、B、C、D、E 五人在某天夜里合伙去捕鱼，到第二天凌晨时都疲惫不堪，于是各自找地方睡觉。

日上三杆，A 第一个醒来，他将鱼分为五份，把多余的一条鱼扔掉，拿走自己的一份。

B 第二个醒来，也将鱼分为五份，把多余的一条鱼扔掉拿走自己的一份。 。

C、D、E依次醒来，也按同样的方法拿鱼。

问他们台伙至少捕了多少条鱼?以及每个人醒来时见到了多少鱼？
*/

int main(int argc, char *argv[])
{
    int n, j, k, l, m;
    for (n = 5;; n++)           /* n 为第一个人看到的鱼 即总的鱼数 */
    {
        j = 4 * (n - 1) / 5;    /* j 为第二个人看到的鱼 */
        k = 4 * (j - 1) / 5;    /* k 为第三个人看到的鱼 */
        l = 4 * (k - 1) / 5;    /* l 为第四个人看到的鱼 */
        m = 4 * (l - 1) / 5;    /* m 为第五个人看到的鱼 */
        if (n % 5 == 1 && j % 5 == 1 && k % 5 == 1 && l % 5 == 1 && m % 5 == 1) /* 所有人看到的鱼均可以五等分且余 1 */
        {
            printf("至少合伙捕鱼：%d条\n", n);
            printf("分别见到鱼的条数：%d %d %d %d\n", j, k, l, m);
            break;
        }
    }

    return 0;
}
/**
至少合伙捕鱼：3121条
分别见到鱼的条数：2496 1996 1596 1276
*/

/************************ end of time ************************/
